Real-time rendering of 3-D images in volume visualization applications has become increasingly important. This is particularly useful in clinical applications for the display and analysis of volumetric data sets acquired by imaging methods such as Computed Tomography (CT), Magnetic Resonance Imaging (MRI) or Ultrasonic imaging. Benefits of volume visualization include the ability to obtain oblique views for the increased understanding of complex geometric structures within organs, and the ability to measure volumes, areas, and distances. Volume visualization also provides the ability to explore the spatial relationship between an organ and its surrounding structures or tissues. In general, generation of 3-D images includes the steps of data acquisition, volume reconstruction, and image visualization. Volume rendering is a technique that generates a two-dimensional (2-D) projection directly from the 3-D volume data without requiring any intermediate geometrical data structure.
Unfortunately, the application of volume rendering to medical imaging and scientific visualization is limited because it is computationally expensive to generate acceptable frame rates. In order for rendering to be effective it is important that it is interactive, that is a user can make certain requests of the image and expect a real-lime response. High quality images would take tens of seconds or even minutes to generate using typical workstation technology.
Various approaches have been tried in an attempt to improve the response time. One approach is to trade quality for speed. This approach is ineffective because many perceptual components of the image are obscured from the view of the user. A more costly approach is to rely on special-purpose hardware, which drastically reduces the flexibility of the system. Another approach relies on brute force and simply attempts to render an image by utilizing large multiprocessor computers to perform the rendering in parallel. These types of computers, however, are very expensive and require a large number of processors to achieve acceptable frame rates.
A further approach is to provide better, faster volume rendering algorithms. Several existing volume-rendering algorithms operate by sampling the 2-D slices of the 3-D volume data (also known as factorization), at a fixed resolution; shearing the sampled slices to form an intermediate but distorted image; and warping the intermediate image in 2D to form an undistorted final image. An example of such a technique is described in U.S. Pat. No. 5,787,889 titled “Ultrasound imaging with real-time 3d image reconstruction and visualization”.
The image visualization process derives 2D image projections of the 3D image. The stack of 2D images is known as the “stack space”. A shear warp factorization process is used to derive the new 2D projection for one or more video frames of the image. For each change in viewing angle, the processor factorizes the necessary viewing transformation matrix into a 3D shear, which is parallel to slices of the volume data. A projection of the shear forms a 2D intermediate image. A 2D warp is implemented to produce the final image, (that is, a 2D projection of the 3D volume at a desired viewing angle).
During the process of re-visualizing the volume at a different viewing angle, the reconstructed volume is sheared by transforming the reference coordinate system to an intermediate coordinate system. This simplifies mapping of the data. The intermediate coordinate system also is referred to as “sheared object space”. The sheared object space is selected so that all viewing rays are parallel to one of the axes of the original coordinate system for the volume (e.g., the reference coordinate system). FIG. 1(a) depicts the transformation into sheared object space for parallel projection. The volume is retrieved as a set 16 of volume slices. The shearing direction for the volume is parallel to the set 16 of slices. Alternatively, the set of slices is resampled to be parallel to the shearing direction.
The slices 16 then are translated and resampled to achieve image projection rays 19 which are perpendicular to the sheared slices 18. The intermediate image projection plane is parallel to the slices of the volume. Since all the projection rays 19 are perpendicular to both the projection plane 14 and the slices 18, an imaging process for the projection causes the image data to be accessed in storage order. Because the shearing occurs only on two axes, a simple translation operation is used which does not use a lot of computation. The result of the shear factorization is a distorted image projection. Such distorted projection is not displayed. Before the volume is displayed, the projection undergoes a 2D geometric image warping operation to create a final 2D image projection of the volume.
FIG. 1(b) illustrates perspective projection and is represented by the numeral 20. For a perspective transformation, the slices 16 are scaled in addition to being sheared to achieve sheared object space slices 24. The scaling produces an effect that allows an observer to perceive the volume with perspective. Such a method is best described in a paper titled “Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation”, Technical Report CSL-TR-95-678, Departments of Electrical Engineering and Computer Science, Stanford University, September 1995.
However, the current implementations of shear warp factorization are limited in several aspects. First of all, the major axis is not unique for all the rays in the viewing frustum. As previously mentioned, the major axis is used for factorization. Therefore, since there are three coordinate axes, there are three possible major axes, and a scene may be rendered in as many as three different factorizations. Each rendering process produces an image patch and joining, or stitching, the patches together create the final scene.
It has been found that the stitching process is computationally not trivial and furthermore, some distortion is created along the border of the patches. The distortion occurs since the factorizations are only mathematical models and, therefore, the results may differ slightly between factorizations. Additionally, using two or more factorizations is expensive in terms of memory access and computation.
Furthermore, current implementations also do not allow the observer to view the image from a position within the data set, a position, which can provide valuable information to the observer.
It is an object of the present invention to obviate or mitigate at least some of the above mentioned disadvantages.